#ifndef _EMBED_H_
#define _EMBED_H_
#include <defs.h>

//compute differences classification into a membership-bitmap
void diff_classification_all(
			     difference_class **,
			     class_count *,
			     int **,
			     unsigned char **,
			     unsigned int,
			     unsigned int,
			     unsigned int
			     );

//compute location-map of selected-for-expansion differences
void diff_map(
	      unsigned char *l,
	      difference_class **m,
	      unsigned int h,
	      unsigned int w
	      );

//collect LSB of changeable differences (but 1 and -2 ones)
void collect_LSB(
		 unsigned char *,
		 int **,
		 difference_class **,
		 unsigned int,
		 unsigned int
		 );

//embed by difference expansion/changing
void embed(
	   int **,
	   unsigned int *,
	   unsigned int *,
	   unsigned char *,
	   unsigned int,
	   difference_class **,
	   unsigned int,
	   unsigned int *
	   );

#endif
